package ${domain}.frame.excel;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.format.NumberFormat;
import ${domain}.frame.base.BaseEntity;
import ${domain}.frame.excel.annotation.ExcelNote;
import ${domain}.frame.excel.annotation.ExcelSelect;
import ${domain}.frame.excel.annotation.ExcelSheet;

import java.util.Date;

@ExcelSheet("应用接入")
public class DemoData extends BaseEntity {

    @ExcelProperty({"字符列", "普通字符列"})
    @ExcelNote("字符列描述")
    private String str1;

    @ExcelProperty({"字符列", "可选字符列"})
    @ExcelSelect({"选项一", "选项二"})
    @ExcelNote("可选字符列(选项一,选项二)")
    private String str2;

    @ExcelNote("无ExcelProperty，默认为字段名称")
    private String str3;//无ExcelProperty，默认为字段名称

    @ExcelIgnore
    private String str4;//忽略的字段

    @ExcelProperty("短整数列")
    @ExcelNote("短整数列")
    private short sint;

    @ExcelProperty("整数列")
    @ExcelNote("整数列")
    private int mint;

    @ExcelProperty("长整数列")
    @ExcelNote("长整数列")
    private long lint;

    @ExcelProperty("双精度列")
    @NumberFormat("#.##")
    @ExcelNote("双精度列，格式化#.##")
    private double dbn;

    @ExcelProperty("单精度列")
    @NumberFormat("#.##")
    @ExcelNote("单精度列，格式化#.##")
    private float fln;

    @ExcelProperty("时间列")
    @DateTimeFormat("yyyy年MM月dd日 HH时mm分ss秒")
    @ExcelNote("时间列，格式化yyyy年MM月dd日 HH时mm分ss秒")
    private Date date;

    @ExcelProperty("是否有效")
    @ExcelSelect({"是", "否"})
    @ExcelNote("布尔值（是, 否）")
    private boolean valid;

    public String getStr1() {
        return str1;
    }

    public void setStr1(String str1) {
        this.str1 = str1;
    }

    public String getStr2() {
        return str2;
    }

    public void setStr2(String str2) {
        this.str2 = str2;
    }

    public String getStr3() {
        return str3;
    }

    public void setStr3(String str3) {
        this.str3 = str3;
    }

    public String getStr4() {
        return str4;
    }

    public void setStr4(String str4) {
        this.str4 = str4;
    }

    public short getSint() {
        return sint;
    }

    public void setSint(short sint) {
        this.sint = sint;
    }

    public int getMint() {
        return mint;
    }

    public void setMint(int mint) {
        this.mint = mint;
    }

    public long getLint() {
        return lint;
    }

    public void setLint(long lint) {
        this.lint = lint;
    }

    public double getDbn() {
        return dbn;
    }

    public void setDbn(double dbn) {
        this.dbn = dbn;
    }

    public float getFln() {
        return fln;
    }

    public void setFln(float fln) {
        this.fln = fln;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public boolean isValid() {
        return valid;
    }

    public void setValid(boolean valid) {
        this.valid = valid;
    }
}
